def equal_length(func):
    def wrapper(*args, **kwargs):
        all_params = [a for a in args] + [v for _,v in kwargs.items()]
        
        if not all(isinstance(params, list) for params in all_params):
            raise ValueError(f'有非list参数，请检查。')
        
        if len(all_params) == 0:
            ret = func(*args, **kwargs)
        else:
            std_length = len(all_params[0])
            if any(len(params) - std_length for params in all_params):
                raise ValueError('参数长度未对齐')
            elif all(len(params)==0 for params in all_params):
                raise ValueError('参数全为空list')
            else:
                ret = func(*args, **kwargs)
                
        return ret 
    return wrapper